1. Field of the Invention
This invention relates generally to software for arbitrating use requests by applications to shared services or devices, and more specifically, methods for arbitrating priority to requesting applications of shared services, devices, and resources used on vehicles implementing a wireless telematics-type system.
2. Description of the Related Art
The electronic content and sophistication of automotive designs has grown markedly. Microprocessors are prevalent in a growing array of automotive entertainment, safety, and control functions. Consequently, this electronic content is playing an increasing role in the sales and revenues of the automakers. The features provided by the electronic content include audio systems, vehicle stability control, driver activated power train controls, adaptive cruise control, route mapping, collision warning systems, security systems, etc. The significant increase of the electronic content of land based vehicles has concomitantly occurred with the explosive growth of the Internet and the associated data driven applications supplied through mobile applications.
Telematics, a broad term that refers to vehicle-based wireless communication systems and information services, promises to combine vehicle safety, entertainment, and convenience features through wireless access to distributed networks, such as the Internet. Telematics offers the promise to move away from the hardware-centric model from audio and vehicle control systems that are built into devices that are custom designed for each vehicle, to infotainment delivered by plug-and-play hardware whose functionality can be upgraded through software loads or simple module replacement. Furthermore, new revenue streams will be opened up to automobile manufacturers and service providers through the products and services made available through telematics.
Since these infotainment systems integrate entertainment and information within a common envelope, the systems need to be highly integrated, open, and configurable. However, the electronic systems currently on the market are custom designed for the make, model, year and world region in which the vehicle is sold. Additionally, the electronic systems being used today are linked by proprietary busses having severely limited bandwidth that are inadequate for data-intensive services combining information entertainment and safety. The proprietary and customized systems require a developer to know the underlying software and hardware application program interfaces (APIs) in order to develop applications for future infotainment systems. However, numerous proprietary and customized systems are spread across the various makes and models of the vehicles in the marketplace and even within the same model from year to year. Thus, the heterogeneous nature of the various systems essentially eliminates any benefits of economies of scale since equipment and software must be tailored to each model permutation.
Another problem that can arise is when one or more device or service needs to be utilized by more then one calling application. For this example, assume that the calling application is a “caller.” Accordingly, a problem arises when the second caller tries to access the same device or service. Currently, one of several things can happen: (1) the most often occurring scenario is that only the first caller gets their request handled. The second caller will therefore get an unavailable response to the request, (2) the two requests may be mixed. For example, if two requests to utilize the automobile speaker comes in, the audio data from both requests may get mixed together and played. As can be appreciated, neither of these scenario would be acceptable to a user.
In one specific example, assume an MP3 application is utilizing a media service to play an MP3 file. The media service utilizes the speakers to play the MP3 file. While the MP3 is being played, an oil leak in the vehicle causes the oil to be depleted in the engine. An alert service needs to call a speech service to alert the driver that the vehicle must pull over and stop the engine to prevent serious damage to the engine. As can be seen, it is more important that the driver be notified of the alert than having the MP3 file continue to play. In current systems, the speech service would possibly not get access to the audio driver and the engine would get damaged.
In view of the forgoing, there is a need for computer driven methods and systems that enable intelligent arbitration of service requests by applications desiring to access the same device, service, or resource.